Spring Boot中parent标签的作用

您所在的位置:网站首页 springboot starter parent Spring Boot中parent标签的作用

Spring Boot中parent标签的作用

2023-09-12 16:00| 来源: 网络整理| 查看: 265

在Spring Boot的官方示例中,都是让我们继承一个spring的 spring-boot-starter-parent作为parent标签

org.springframework.boot spring-boot-starter-parent 2.1.6.RELEASE

这个parent标签有一个最常用的功能,就是定义子标签的依赖版本号,然而它的功能却不仅仅如此

parent 源码 4.0.0 org.springframework.boot spring-boot-dependencies 2.1.6.RELEASE ../../spring-boot-dependencies spring-boot-starter-parent pom Spring Boot Starter Parent Parent pom providing dependency and plugin management for applications built with Maven https://projects.spring.io/spring-boot/#/spring-boot-starter-parent UTF-8 1.8 @ ${java.version} UTF-8 ${java.version} true ${basedir}/src/main/resources **/application*.yml **/application*.yaml **/application*.properties ${basedir}/src/main/resources **/application*.yml **/application*.yaml **/application*.properties org.jetbrains.kotlin kotlin-maven-plugin ${kotlin.version} compile compile compile test-compile test-compile test-compile ${java.version} true maven-compiler-plugin true maven-failsafe-plugin integration-test verify ${project.build.outputDirectory} maven-jar-plugin ${start-class} true maven-war-plugin ${start-class} true org.codehaus.mojo exec-maven-plugin ${start-class} maven-resources-plugin ${resource.delimiter} false pl.project13.maven git-commit-id-plugin revision true yyyy-MM-dd'T'HH:mm:ssZ true ${project.build.outputDirectory}/git.properties org.springframework.boot spring-boot-maven-plugin repackage repackage ${start-class} maven-shade-plugin package shade META-INF/spring.handlers META-INF/spring.factories META-INF/spring.schemas ${start-class} org.springframework.boot spring-boot-maven-plugin 2.1.6.RELEASE true true *:* META-INF/*.SF META-INF/*.DSA META-INF/*.RSA org.eclipse.m2e lifecycle-mapping 1.0.0 org.codehaus.mojo flatten-maven-plugin [1.0.0,) flatten org.apache.maven.plugins maven-checkstyle-plugin [3.0.0,) check parent基本功能

从上面的源码中我们可以看到parent主要有如下功能: 定义了一个父标签spring-boot-dependencies,这个里边定义了依赖的版本,也正是因为继承了这个依赖,所以我们在写依赖时才不需要写版本号 使用默认编码格式为 UTF-8 定义了 Java 编译版本为 1.8 定义了针对 application.properties 和 application.yml 的资源过滤,包括通过 profile 定义的不同环境的配置文件,例如 application-dev.properties 和 application-dev.yml 执行打包操作的配置 自动化的资源过滤 自动化的插件配置

使用自定义的parent

当我们需要使用自己定义的 parent ,我们的 Spring Boot 项目要继承自公司内部的 parent ,这个时候可以这么做。 一个简单的办法就是我们自行定义 dependencyManagement 节点,然后在里边定义好版本号,再接下来在引用依赖时也就不用写版本号了,像下面这样:

org.springframework.boot spring-boot-dependencies 2.1.6.RELEASE pom import

但这种方式只能解决依赖的版本号问题,如果我们仍然需要关于打包的插件、编译的 JDK 版本、文件的编码格式等等这些配置,在没有 parent 的时候,这些统统要自己去配置。



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3